#字典是另一种可变容器模型，且可存储任意类型对象。
# 字典的每个键值 key:value 对用冒号 : 分割，每个键值对之间用逗号 , 分割，整个字典包括在花括号 {} 中
# dict 作为 Python 的关键字和内置函数，变量名不建议命名为 dict。
# 键一般是唯一的，如果重复最后的一个键值对会替换前面的，值不需要唯一。
print('字典开始>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n');
# !/usr/bin/python
tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print("字典原值为：",tinydict);

print("tinydict['Name']字典里面name这个key的值: ", tinydict['Name'])
print("tinydict['Age']字典里面Age这个key的值: ", tinydict['Age'])

#修改和新增字典的值
tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print("新字典原值为：",tinydict);
tinydict['Age'] = 8  # 更新
tinydict['School'] = "RUNOOB"  # 添加
print("tinydict['Age']修改后: ", tinydict['Age'])
print("tinydict['School']新增后: ", tinydict['School'])
#print("tinydict['none']: ", tinydict['none']) #报错

#删除
del tinydict['School'];
print("删除School后新字典值为：",tinydict);

#1）不允许同一个键出现两次。创建时如果同一个键被赋值两次，后一个值会被记住，
#2）键必须不可变，所以可以用数字，字符串或元组充当，所以用列表就不行

tinydict = {('Name','sex'): 'Zara', 'Age': 7}
print ("tinydict[('Name','sex')]元组为key: ", tinydict[('Name','sex')]);
#print ("tinydict[('Name')]元组为key: ", tinydict['Name']);

tinydict = {['Name']: 'Zara', 'Age': 7}
print ("tinydict['Name']列表为key: ", tinydict['Name']);


my_dict = {'a': 1, 'b': 2}
if 'c' in my_dict:
    value = my_dict['c']
else:
    print('不存在，所以默认值')
    value = 'default_value'
print(value)  # 输出: default_value
value = my_dict.get('c', '我是默认值')
print(value)  # 输出: default_value


print('字典结束>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n');









